This invention relates to the field of data communications. More particularly, apparatus and methods are provided for optimizing communications at a data transceiver that exchanges communications across a communication link that is intermittently inoperative or disabled.
Communication connections, especially wireless connections, can be plagued by intermittent outages caused by environmental conditions, loss of power, interference, hardware failure and other factors. Besides affecting communication throughput, such outages may cause or exacerbate congestion at a station that cannot transmit during the outages.
For example, when a TCP (Transport Control Protocol) connection or flow between a source and a destination is interrupted, a timer may activate and cause retransmission of packets that were not acknowledged in a timely manner. However, the original packets may be buffered at an intermediate location, such as a transmitter that forwards the source's packets toward the destination.
Because the intermediate entity is not an endstation of the interrupted communication connection, it will simply buffer all packets it receives from the source and transmit them toward the destination when the connection resumes. As the source continues to retransmit earlier unacknowledged packets, congestion grows at the intermediate location.
When the connection is again available, the intermediary will have to transmit not only the original packets, but all of the retransmitted versions of the packets, even though they will be ignored when received at the destination.
Even if the source or destination endstation terminates the TCP connection (e.g., with a FIN packet), that termination will follow and be processed in sequence with all other buffered packets. When the link resumes, all the preceding packets in the connection (e.g., original packets and retransmissions) will still be transmitted before the termination is passed on.